package leetcode;


/**
 * @author niann
 * @description 二分搜索
 * //TODO https://leetcode.cn/problems/binary-search/description/
 * @since 2024/8/28 下午6:55
 **/
public class LeetCode704 {
    /**
     * 给定一个 n 个元素有序的（升序）整型数组 nums 和一个目标值 target  ，写一个函数搜索 nums 中的 target，如果目标值存在返回下标，否则返回 -1。
     * @param nums 二分查找
     * @param target
     * @return
     */
    public int search(int[] nums, int target) {
        if (nums.length<=1){
           if (nums[0]==target){
               return 0;
           }
           return -1;
        }
        int mid = nums.length/2;
        for (int i = 0,j=nums.length-1; i <=mid && j>=mid; i++,j--) {
            if (nums[i]==target){
                return i;
            }
            if (nums[j]==target){
                return j;
            }
        }
        return  -1;
    }



}
